//#include<iostream>
//using namespace std;
//const int N = 1e6 + 10;
//typedef long long ll;
//ll sum[N], a[N];
//int main()
//{
//	ll n, t;cin >> n >> t;
//	for (int i = 1; i <= n; i++)
//	{
//		cin >> a[i];
//	}ll sum = 0;
//	ll left = 1, right = 1;ll ret = 0;
//	while (right <= n)
//	{		sum += a[right];
//		if (sum > t)
//		{
//			ret = max(ret, right - left);
//			left++;
//			swap(left, right);
//		}
//		else if (sum == t)
//		{
//			ret = max(ret, right - left + 1);
//			left++;
//			swap(left, right);
//		}
//		else if (sum < t && right == n) ret = max(ret, right - left + 1);
//		right++;
//		if (sum >= t) sum = 0;
//	}
//	cout << ret << endl;
//	return 0;
//}
#include<iostream>
typedef long long ll;
const int N = 1e6;
int a[N];
using namespace std;
int main()
{
	ll n, t;cin >> n >> t;
	for (int i = 1; i <= n; i++)
	{
		cin >> a[i];
	}
	ll sum = 0 ,ret = 0, left = 1, right = 1;
	while (right <= n)
	{
		sum += a[right];
		if (right == n && sum < t)
		{
			ret = max(right - left + 1, ret);
			break;
		}
		while (sum >= t)
		{
			if (sum == t)
				ret = max(ret, right - left + 1);
			else ret = max(ret, right - left);
			sum -= a[left];
			left++;
		}
		right++;
	}
	cout << ret << endl;
	return 0;
}